#ifndef AGILE_H
#define AGILE_H
#include "../global.h"

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
class Agile;
}
QT_END_NAMESPACE

class Home;
class Query;
class Filter;
class Predict;
class Admin;
class Login;
class Register;
class Help;
class About;
class Connector;
class Account;
class Evaluation;
class Cache;

class Agile : public QMainWindow {
    Q_OBJECT

  public:
    Agile(QWidget *parent = nullptr);
    ~Agile();
    void updateVisibility();
  public slots:
    void login();
    void enroll();
    void home();
    void query();
    void filter();
    void predict();
    void admin();
    void web();
    void help();
    void about();
    void refresh();

  private:
    Ui::Agile *ui;
    Home *widgetHome;
    Query *widgetQuery;
    Filter *widgetFilter;
    Predict *widgetPredict;
    Admin *widgetAdmin;
    Login *dialogLogin;
    Register *dialogRegister;
    Help *dialogHelp;
    About *dialogAbout;
    Connector *connector;
    Account *account;
    bool loggedIn;
    Evaluation *evaluation;
    Cache *cache;
};
#endif // AGILE_H
